package pe.com.bbva.modpre.dominio;

import java.math.BigDecimal;

import javax.persistence.*;
import javax.validation.constraints.NotNull;

import pe.com.bbva.modpre.dominio.util.AuditoriaBean;
import pe.com.bbva.modpre.utileria.Constante;


/**
 * The persistent class for the SOL_DEUDA database table.
 * 
 */
@Entity
@Table(name="CFG_CR_PE")
@SuppressWarnings("serial")
public class CrPe extends AuditoriaBean {

	@Id
	@Column(unique=true, nullable=false, precision=16)
	@GeneratedValue(strategy = GenerationType.TABLE, generator = "SEQ_CR_PE")
	@TableGenerator(name = "SEQ_CR_PE", table = "SEQ_ENTIDAD", pkColumnName = "ENTIDAD", initialValue = 1,
	valueColumnName = "ULTIMO_ID", pkColumnValue = "pe.com.bbva.modpre.dominio.CrPe", allocationSize = 1)
	private Long id;
	
	@Column(name="CODIGO_CR_PE", precision=16)
	private Long codigoCrPe;
	
	@Column(name="ESCALA_RATING", precision=20)
	private String escalaRating;
	
	@Column(name="CODIGO_PRODUCTO", precision=16)
	private Long codigoProducto;

	@Column(name="CODIGO_PUNTAJE_BURO", precision=16)
	private Long codigoPuntajeBuro;
	
	@Column(name="CODIGO_ANTIGUEDAD_CLIENTE", precision=16)
	private Long codigoAntiguedadCliente;
	
	@Column(name="CODIGO_PLAZO", precision=16)
	private Long codigoPlazo;

	@Column(name="CODIGO_LTV", precision=16)
	private Long codigoLtv;
	
	@Column(name="CODIGO_VIVIENDA_DIVISA", precision=16)
	private Long codigoViviendaDivisa;
	
	@Column(name="CODIGO_VIVIENDA", precision=16)
	private Long codigoVivienda;
	
	@Column(name="CODIGO_DIVISA", precision=16)
	private Long codigoDivisa;
	
	@Column(name="PD", precision=16, scale=6)
	private BigDecimal pd;
	
	@Column(name="LGD", precision=16, scale=6)
	private BigDecimal lgd;
	
	@Column(name="PE", precision=16, scale=6)
	private BigDecimal pe;
	
	@Column(name="CR", precision=16, scale=6)
	private BigDecimal cr;
	
	
	//uni-directional many-to-one association to Valor
	@ManyToOne
	@JoinColumn(name="ESTADO")
	@NotNull(message=Constante.CODIGO_MENSAJE.VALIDAR_COMBOBOX)
	private Valor estado;
	
	@ManyToOne
	@JoinColumn(name="TIPO_CARGA")
	@NotNull(message=Constante.CODIGO_MENSAJE.VALIDAR_COMBOBOX)
	private Valor tipoCarga;
	
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getCodigoProducto() {
		return codigoProducto;
	}

	public void setCodigoProducto(Long codigoProducto) {
		this.codigoProducto = codigoProducto;
	}

	public Long getCodigoPuntajeBuro() {
		return codigoPuntajeBuro;
	}

	public void setCodigoPuntajeBuro(Long codigoPuntajeBuro) {
		this.codigoPuntajeBuro = codigoPuntajeBuro;
	}

	public Long getCodigoAntiguedadCliente() {
		return codigoAntiguedadCliente;
	}

	public void setCodigoAntiguedadCliente(Long codigoAntiguedadCliente) {
		this.codigoAntiguedadCliente = codigoAntiguedadCliente;
	}

	public Long getCodigoVivienda() {
		return codigoVivienda;
	}

	public void setCodigoVivienda(Long codigoVivienda) {
		this.codigoVivienda = codigoVivienda;
	}

	public Long getCodigoDivisa() {
		return codigoDivisa;
	}

	public void setCodigoDivisa(Long codigoDivisa) {
		this.codigoDivisa = codigoDivisa;
	}

	public Valor getEstado() {
		return estado;
	}

	public void setEstado(Valor estado) {
		this.estado = estado;
	}

	public Long getCodigoCrPe() {
		return codigoCrPe;
	}

	public void setCodigoCrPe(Long codigoCrPe) {
		this.codigoCrPe = codigoCrPe;
	}

	public String getEscalaRating() {
		return escalaRating;
	}

	public void setEscalaRating(String escalaRating) {
		this.escalaRating = escalaRating;
	}

	public Long getCodigoLtv() {
		return codigoLtv;
	}

	public void setCodigoLtv(Long codigoLtv) {
		this.codigoLtv = codigoLtv;
	}

	public Long getCodigoViviendaDivisa() {
		return codigoViviendaDivisa;
	}

	public void setCodigoViviendaDivisa(Long codigoViviendaDivisa) {
		this.codigoViviendaDivisa = codigoViviendaDivisa;
	}

	

	public Long getCodigoPlazo() {
		return codigoPlazo;
	}

	public void setCodigoPlazo(Long codigoPlazo) {
		this.codigoPlazo = codigoPlazo;
	}

	public BigDecimal getPd() {
		return pd;
	}

	public void setPd(BigDecimal pd) {
		this.pd = pd;
	}

	public BigDecimal getLgd() {
		return lgd;
	}

	public void setLgd(BigDecimal lgd) {
		this.lgd = lgd;
	}

	public BigDecimal getPe() {
		return pe;
	}

	public void setPe(BigDecimal pe) {
		this.pe = pe;
	}

	public BigDecimal getCr() {
		return cr;
	}

	public void setCr(BigDecimal cr) {
		this.cr = cr;
	}

	public Valor getTipoCarga() {
		return tipoCarga;
	}

	public void setTipoCarga(Valor tipoCarga) {
		this.tipoCarga = tipoCarga;
	}
	

}